Python字符串比较不区分大小写 title()与capitalize()的区别

检测元素是否已经存在列表中,并且不区分大小写作比较,以下是Python 字符串忽略大小写的比较方法, 实现列表元素独一无二,可在操作前把字符串转换成同样大写 upper() 或同样小写 lower()

lists = ['login','A mUltiCased string','useR2_C_c','bilbil','cilcil']
new_lists = ['Login','A multicased sTring','UseR2_c_C','cilcil','dildil']
for list in lists:
    list_lower = list.lower()
    for new_list in new_lists:
        new_list_lower = new_list.lower()
        if new_list_lower == list_lower:
            print('用户名"' + new_list + '"已被占用')
if new_list_lower != list_lower:
    print('用户名"' + new_list + '"可注册')

效果:

用户名"Login"已被占用
用户名"A multicased sTring"已被占用
用户名"UseR2_c_C"已被占用
用户名"cilcil"已被占用
用户名"dildil"可注册

或者

current_users = ['admin','user1','user2','user3','user4']
new_users = ['aDmin','user1','user5','user6','user7']
for user in new_users:
    if user in current_users or user.lower() in current_users or user.title() in current_users or user.capitalize() in current_users or user.upper() in current_users:
        print('用户名' + user + '已被注册,请尝试其他用户名!')
    else:
        print('恭喜,没有人使用' + user + ',您可以注册!')

或者(代码最少)

current_users = ['admin','user1','user2','user3','user4']
new_users = ['aDmin','user1','user5','user6','user7']
for user in new_users:
    if user.lower() in [current_user.lower() for current_user in current_users]:
        print('用户名' + user + '已被注册,请尝试其他用户名!')
    else:
        print('恭喜,没有人使用' + user + ',您可以注册!')

效果:

用户名aDmin已被注册,请尝试其他用户名!
用户名user1已被注册,请尝试其他用户名!
恭喜,没有人使用user5,您可以注册!
恭喜,没有人使用user6,您可以注册!
恭喜,没有人使用user7,您可以注册!

capitalize() 与 title() 都是使字符串首字母大写,主要区别:title作用于整个字符串内的单词的首字母大写,capitalize只有整个字符串的第一个字母大写。

lists = ['login','A mUltiCased string','useR2_C_c']
for list in lists:
    print('\n' + list)
    print(list.lower() + ' 小写')
    print(list.upper() + ' 大写')
    print(list.title() + ' 字符串内的单词的首字母大写')
    print(list.capitalize() + ' 字符串的第一个字母大写')

效果:


login
login 小写
LOGIN 大写
Login 字符串内的单词的首字母大写
Login 字符串的第一个字母大写

A mUltiCased string
a multicased string 小写
A MULTICASED STRING 大写
A Multicased String 字符串内的单词的首字母大写
A multicased string 字符串的第一个字母大写

useR2_C_c
user2_c_c 小写
USER2_C_C 大写
User2_C_C 字符串内的单词的首字母大写
User2_c_c 字符串的第一个字母大写

路由器进不了Bread问题解决,刷OpenWrt固件后

本文章源于我把K2 路由器刷了Bread+第三方OpenWrt固件后,想要刷其它固件时,自己健忘,不记得几年前是怎么进的Bread😓,论坛里翻遍评论,什么设置IP为自动获取,断开WAN口都进不去,屡试屡错…

尝试过程: 设置自动获取IP,按住路由器后面的reset键不放,插上电源3-10秒,期间用浏览器访问192.168.1.1(或者192.168.x.x)未果

最后想到会不会还是IP的问题,停用本地网络,设置电脑IP192.168.1.xxx,网关 192.168.1.1,启用本地网络,问题解决!判断路由状态或者是否连通可以使用ping,注意192.168.1.1进Bread,192.168.2.1或者 192.168.123.1进路由。

ping 192.168.1.1 -t            

正在 Ping 192.168.1.1 具有 32 字节的数据:
来自 192.168.1.1 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.1.1 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.1.1 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.1.1 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.1.1 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.1.1 的回复: 字节=32 时间<1ms TTL=64

192.168.1.1 的 Ping 统计信息:
    数据包: 已发送 = 17,已接收 = 17,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 0ms,最长 = 0ms,平均 = 0ms
Control-C

WordPress去掉链接中的Category会不会影响SEO?用WP No Category Base或No Category Base Wpml插件可解决问题

在默认情况下WordPress生成的分类目录的链接含有一个category的前缀(可以自定义这个前缀,如果不定义,就是默认的category),有人觉得不好看,从SEO的角度看,这个前缀破坏了链接的层次感。

WordPress默认分类链接格式:

https://cn.fankuiba.com/category/ + 分类

如果启用WP No Category Base插件,分类链接就会变成:

https://cn.fankuiba.com/ + 分类

URL中category消失了,这就是WP No Category Base插件的效果。使用此插件的好处是“新”的链接会由插件自动301重定向到旧的链接,无需担心404页面的问题。WP No Category Base插件的官方下载地址:https://wordpress.org/plugins/wp-no-category-base/

WP No Category Base插件在官方好像关闭下架了,用这款no category base wpml也是可以的。