python join简单说明和小样例

本文介绍Python中字符串操作的实用技巧,包括使用join()方法连接字符串、倒序输出字符串及提取特定位置字符的方法。通过实例演示如何高效处理字符串,适合Python初学者和开发者提升编程效率。
join():    连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个 新的字符串

下面几个样例来看看具体用法


'''
给你一字典a,如a={1:1,2:2,3:3},输出字典a的key,
以','连接,如‘1,2,3'。要求key按照字典序升序排列(注意key可能是字符串)。

例如:a={1:1,2:2,3:3}, 则输出:1,2,3
'''

#处理的是字符,所以需要转换str,列表不能直接使用str转换,可以试试
print(",".join(sorted([str(i) for i in a.keys()])))

a = 'xydz' 倒序输出
'''
[print(c,end='') for c in list(reversed(a))]

for c in list(reversed(a)):
    print(c, end='')
'''

#print(a[::-1])  #a[i:j:step]


print("".join(list(reversed(a))))


'''
给你一个字符串 a, 输出a中奇数位置字符构成的字符串(位置编号从1开始)。

例如:a=‘xyzwd’

则输出:xzd
'''
a = 'xyzwd'
#1
print("".join([ a[i] for i in range(0,len(a),2)]))
#2, print(a[0::2])

 

### 使用Python爬取光厂视频小样数据 要完成这一目标,可以采用类似于引用中的方法[^1],即通过网络请求获取网页上的资源,并将其保存至本地。以下是具体实现方式: #### 准备工作 为了能够顺利抓取光厂视频的小样数据,首先需要安装必要的依赖库: ```bash pip install requests beautifulsoup4 lxml ``` 如果涉及登录验证或者动态加载页面,则可能还需要额外的工具支持,比如Selenium WebDriver用于模拟浏览器行为。 #### 获取HTML源码 使用`requests`模块发送GET请求访问目标网址,得到响应内容后再解析其中的信息。 ```python import requests from bs4 import BeautifulSoup url = 'https://www.guangchang.com/sample-videos' # 假设这是光厂视频小样的入口链接 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)' } response = requests.get(url, headers=headers) if response.status_code == 200: soup = BeautifulSoup(response.text, 'lxml') else: print(f"Failed to retrieve data: {response.status_code}") ``` 此处假设已经找到了正确的URL地址指向含有所需资料的位置[^3]。 #### 提取媒体链接 接着,在BeautifulSoup对象里查找所有的<a>标签或<video><source>等节点属性href/src值匹配.mp4/.flv扩展名的部分作为候选下载项列表。 ```python media_links = [] for link in soup.find_all(['a', 'source']): href = link.get('href') or link.get('src') if href and any(ext in href.lower() for ext in ['.mp4','.flv']): media_links.append(href) print(media_links[:5]) # 输出前五个样本确认无误即可继续执行下一步动作... ``` #### 下载文件存储到硬盘目录结构当中去 最后一步就是遍历上面收集起来的所有合法路径逐一发起新的HTTP GET调用来实际取得二进制流写入对应的磁盘位置形成最终成果物啦!记得设置合理的超时参数以及异常处理机制哦~ ```python output_dir = './guangchang_samples/' os.makedirs(output_dir, exist_ok=True) def download_file(link): try: resp = requests.get(link, stream=True, timeout=30) filename = os.path.join(output_dir, link.split('/')[-1]) with open(filename, 'wb') as f: for chunk in resp.iter_content(chunk_size=8192): if not chunk: break f.write(chunk) return True except Exception as e: print(e) return False results = list(map(download_file, media_links)) success_count = sum(results) failure_count = len(media_links)-success_count print(f'Successfully downloaded {success_count} out of total {len(media_links)} files.') ``` 以上便是整个流程的大致描述[^2],当然实际情况可能会更加复杂一点,如遇到反爬虫策略限制等情况都需要灵活应对调整方案才行呢! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值